// components/custom-checkbox/custom-checkbox.js
Component({

	// 用来监听数据以及属性是否发生了变化
	observers:{
		// 单个属性值监听
		'num':function (params) {
			// 对data中的数据进行监听，数据变化之后才能执行，如果没有变化就不会执行	
			console.log(params)
		},

		// 多个属性值监听
		'num,numList[1]':function (params1,params2) {
			console.log(params1)
			console.log(params2);
		},

		// 对象属性值监听
		'obj.name':function (params) {
			console.log(params)
		},

		// 对象所有属性变化监听,使用通配符**
		'obj.**':function (params) {
			console.log(params)
		},

		// 只要组件使用者传递了数据，在监听器中就能获取到传递的数据
		// 也就是说监听器立即就执行
		'label':function (params) {
			console.log(params)
		},

		
	},

	options:{
		// multipleSlots 选项用于启用多 slot 支持
		multipleSlots:true,
		styleIsolation:"shared"
	},

  /**
   * 组件的属性列表
   */
  properties: {
		// 如果需要接受传递的属性，有两种方式:全写、简写
		// label:String,
		// properties:String

		label:{
			// type:组件使用者传递的数据类型
			// 数据类型:String、Number、Boolean、Object、Array
			// 也可以设置为null 表示不限制类型
			type:String,
			value:''
		},

		properties:{
			type:String,
			value:''
		},

		check:{
			type:Boolean,
			value:false
		}
  },

  /**
   * 组件的初始数据
   */
  data: {
		isChecked:false,
  },

  /**
   * 组件的方法列表
   */
  methods: {
		updateIsCheck(){
			this.setData({
				isChecked:!this.data.isChecked
			})

			this.triggerEvent("changeChecked",this.data.isChecked)
		},


  }
})